const mysql = require('mysql')

const db = mysql.createPool({
  host: '127.0.0.1',
  user: 'root',
  password: 'admin123',
  database: 'my_db_01'  //单词不要写错 坑1+1
})

// mysql语句
const mysqlStr = [
  'select 1',               //测试是否连接成功
  'select * from users',    //查询所有数据
  'insert into users (username, password) values (?,?)', //插入数据
  'insert into users set ?', //便携插入：user对象和数据库字段一一对应就可以使用这种插入方式
  'update users set username=?, password=? where id=?', //更新数据
  'update users set ? where id=?', //便携更新
  'delete from users where id=?', //删除数据
  'update users set status=1 where id=?', //为了防止误删，设置禁用状态模拟删除
] 
const user = {
  username: 'userInsert_01',
  password: 'pwd_01'
}

//测试查询
const selectAll = () => {
  db.query(mysqlStr[1], (err, res) => {
    if(err) return console.log(err.message)
    console.log(res) // res是数组
  })
}

//插入
const insertInfo = () => {
  db.query(mysqlStr[2], [user.username, user.password], (err, res) => {
    if(err) return console.log(err.message)
    if(res.affectedRows === 1) { //res是对象
      console.log('插入成功！')
      // selectAll()
    }
  })
}
// insertInfo()
//便携插入
const quickInsert = () => {
  db.query(mysqlStr[3], user, (err, res) => {
    if(err) return console.log(err.message)
    if(res.affectedRows === 1) {
      console.log('便携插入成功')
      // selectAll()
    }
  })  
}
// quickInsert()

//更新数据
const updataUser = {id: 1, username: 'upzsqiuck', password: 'upzspwquick'}
const updateInfo = () => {
  db.query(mysqlStr[4], [updataUser.username, updataUser.password, updataUser.id], (err, res) => {
    if(err) return console.log(err.message)
    if(res.affectedRows === 1) {
      console.log('更新成功')
      // selectAll()
    }
  })
}
// updateInfo()
//便携更新
const quickUpdate = () => {
  db.query(mysqlStr[5], [updataUser, updataUser.id], (err, res) => {
    if(err) return console.log(err.message)
    if(res.affectedRows === 1) {
      console.log('便携更新成功')
      // selectAll()
    }
  })
}
// quickUpdate()
const deleteRow = () => {
  db.query(mysqlStr[6], 6, (err, res) => {
    if(err) return console.log(err.message)
    if(res.affectedRows === 1) {
      console.log('删除成功')
      // selectAll()
    }
  })
}
// deleteRow()
const simuDel = () => {
  db.query(mysqlStr[7], 12, (err, res) => {
    if(err) return console.log(err.message)
    if(res.affectedRows === 1) {
      console.log('已设置为禁用')
      // selectAll()
    }
  })
}
simuDel()